package com.shhm.admin.service;

import com.shhm.common.dto.request.RequestList;
import com.shhm.common.dto.request.admin.StudentReq;
import com.shhm.common.dto.response.AjaxResultPlus;
import com.shhm.common.dto.response.admin.StudentVO;
import com.shhm.common.entity.admin.StudentEntity;
import jakarta.servlet.http.HttpServletRequest;

/**
 * @author JackZ
 * @version 1.0
 * @description: 学生信息服务接口
 * @date 2025/9/20
 */
public interface StudentService {
    /**
     * 分页查询待审核的学生信息
     * @param pageNum 页码
     * @param pageSize 每页条数
     * @param entity 查询条件
     * @return 分页结果
     */
    AjaxResultPlus auditPageList(Integer pageNum, Integer pageSize, StudentReq entity);

    /**
     * 审核学生信息
     * @param entity 审核信息
     * @param request 请求对象
     * @return 操作结果
     */
    AjaxResultPlus auditStudent(StudentReq entity, HttpServletRequest request);

    /**
     * 分页查询所有审核完毕的学生信息
     * @param pageNum 页码
     * @param pageSize 每页条数
     * @param entity 查询条件
     * @return 分页结果
     */
    AjaxResultPlus pageList(Integer pageNum, Integer pageSize, StudentReq entity);

    /**
     * 添加学生信息
     * @param entity 学生信息
     * @param request 请求对象
     * @return 操作结果
     */
    AjaxResultPlus add(StudentReq entity, HttpServletRequest request);

    /**
     * 更新学生信息
     * @param entity 学生信息
     * @param request 请求对象
     * @return 操作结果
     */
    AjaxResultPlus update(StudentReq entity, HttpServletRequest request);

    /**
     * 删除学生信息
     * @param ids 学生信息ID列表
     * @return 操作结果
     */
    AjaxResultPlus delete(RequestList ids);
}